package com.novelastudios.patterns.models
{
	import flash.events.EventDispatcher;
	import flash.events.Event;
	import com.novelastudios.patterns.models.IModel;
	
	/**
	 * Every child class should dispatch a GenericEvent.READY when the model
	 * 	has been set. This provides a common interface.
	 */ 
	[Event(name="ready",type="com.novelastudios.events.GenericEvent")]
	
	/**
	 * This is an abstract class
	 *  
	 * @author NovelaStudios, JohnBailey ©2009
	 * 
	 */	
	public class Model extends EventDispatcher implements IModel
	{
		/**
		 * @private
		 */
		private var _name:String = "model_not_named";
		
		/**
		 * 
		 * @return 
		 */		
		public function get model_name():String
		{
			return _name;
		}
		
		/**
		 * 
		 * @param value
		 */		
		public function set model_name(value:String):void
		{
			_name = value;
		}
		
	}
}